﻿using System;

namespace Terraria.Cinematics
{
	// Token: 0x0200048C RID: 1164
	public struct FrameEventData
	{
		// Token: 0x170002C1 RID: 705
		// (get) Token: 0x06002745 RID: 10053 RVA: 0x0001B78A File Offset: 0x0001998A
		public int AbsoluteFrame
		{
			get
			{
				return this._absoluteFrame;
			}
		}

		// Token: 0x170002C2 RID: 706
		// (get) Token: 0x06002746 RID: 10054 RVA: 0x0001B792 File Offset: 0x00019992
		public int Start
		{
			get
			{
				return this._start;
			}
		}

		// Token: 0x170002C3 RID: 707
		// (get) Token: 0x06002747 RID: 10055 RVA: 0x0001B79A File Offset: 0x0001999A
		public int Duration
		{
			get
			{
				return this._duration;
			}
		}

		// Token: 0x170002C4 RID: 708
		// (get) Token: 0x06002748 RID: 10056 RVA: 0x0001B7A2 File Offset: 0x000199A2
		public int Frame
		{
			get
			{
				return this._absoluteFrame - this._start;
			}
		}

		// Token: 0x170002C5 RID: 709
		// (get) Token: 0x06002749 RID: 10057 RVA: 0x0001B7B1 File Offset: 0x000199B1
		public bool IsFirstFrame
		{
			get
			{
				return this._start == this._absoluteFrame;
			}
		}

		// Token: 0x170002C6 RID: 710
		// (get) Token: 0x0600274A RID: 10058 RVA: 0x0001B7C1 File Offset: 0x000199C1
		public bool IsLastFrame
		{
			get
			{
				return this.Remaining == 0;
			}
		}

		// Token: 0x170002C7 RID: 711
		// (get) Token: 0x0600274B RID: 10059 RVA: 0x0001B7CC File Offset: 0x000199CC
		public int Remaining
		{
			get
			{
				return this._start + this._duration - this._absoluteFrame - 1;
			}
		}

		// Token: 0x0600274C RID: 10060 RVA: 0x0001B7E4 File Offset: 0x000199E4
		public FrameEventData(int absoluteFrame, int start, int duration)
		{
			this._absoluteFrame = absoluteFrame;
			this._start = start;
			this._duration = duration;
		}

		// Token: 0x040043B4 RID: 17332
		private int _absoluteFrame;

		// Token: 0x040043B5 RID: 17333
		private int _start;

		// Token: 0x040043B6 RID: 17334
		private int _duration;
	}
}
